/**
 * Created by no1 on 2015/8/6.
 */
'use strict';
let DD = require('./daoLoader');
let F = require('../function')
let Base = require('./Base');
let util = require("util");
let orderPayWayDao = new DD.mysqlDB.OrderPayWayDao();

function OrderPayWayDispatcher(data) {
  data = data || {};
  data.dao = data.dao || orderPayWayDao;
  data.esDao = data.esDao || {};
  data.redisDao = data.redisDao || {};
  data.modelName = data.modelName || 'orderPayWay';
  data.modelType = data.modelType || 'mysql';
  this.data = data;
  Base.call(this, this.data);
};
util.inherits(OrderPayWayDispatcher, Base);

/**
 *@todo 添加订单支付方式
 *@param  {Object}  fields  所有参数
 *@param  {Boolean }  formOtherDispatcher  是否是其他分派器调用
 */
OrderPayWayDispatcher.prototype.add = function*(fields, formOtherDispatcher) {
  let parameters = {};
  if (formOtherDispatcher) F.debugLog('其他分配器调用');
  parameters.order_id = fields.order_id;
  parameters.pay_way = fields.pay_way;
  parameters.price = fields.price || 0;
  parameters.return_data = fields.return_data || '';
  parameters.coupon_code = fields.coupon_code || 0;

  //保存数据
  let ret = yield this.dao.save(parameters);
  if (ret.error == 1) return F.returnData(1, ret.msg, ret.data);
  return F.returnData(0, ret.msg, ret.data);
  //return F.returnData(0, '开发中');
};

/**
 *@todo 更新订单支付方式
 *@param  {Object}  fields  所有参数
 */
OrderPayWayDispatcher.prototype.update = function*(fields) {
  F.debugLog(fields);
  //return F.returnData(0, '开发中');
  let opt = {};
  opt.opy_id = fields.opy_id;

  let parameters = fields.updateInfo;
  //更新订单信息
  let ret = yield this.dao.update(parameters, opt);
  if (ret.error == 1) return F.returnData(1, ret.msg, ret.data);
  return F.returnData(0, ret.msg, ret.data);
};

///**
// *@todo 获取订单支付方式
// *@param  {Object}  fields  所有参数
// */
//OrderPayWayDispatcher.prototype.list = function*(fields) {
//  F.debugLog(fields);
//  return F.returnData(0, '开发中');
//};

/**
 *@todo 获取单个订单支付方式
 *@param  {Object}  fields  所有参数
 */
OrderPayWayDispatcher.prototype.detail = function*(fields) {
  F.debugLog(fields);
  let opy_id = fields.opy_id;
  let ret = yield this.dao.getOneByQuery({opy_id: opy_id});
  //return F.returnData(0, '开发中', ret);
  if (ret.error == 1) return F.returnData(1, ret.msg, ret.data);
  return F.returnData(0, ret.msg, ret.data);
};

///**
// *@todo 添加订单支付方式
// *@param  {Object}  data  所有参数
// */
//OrderPayWayDispatcher.prototype.addformOrderDispatcher = function*(data) {
//
//  F.debugLog(data);
//  return F.returnData(0, '开发中', data);
//
//};
module.exports = OrderPayWayDispatcher;